package com.bujunjie.study.realtime.common.function;

import com.alibaba.fastjson.JSONObject;

/**
 * <p>dim 层函数</p>
 *
 * @author bu.junjie
 * @version 1.0.0
 * @createTime 2025/9/18 17:10
 */
public interface DimJoinFunction<T> {

    /**
     * <p>增加 dim 层数据</p>
     *
     * @param obj        对象
     * @param dimJsonObj dim 层返回的对象
     * @author bu.junjie
     * @date 2025/9/18 17:11
     */
    void addDims(T obj, JSONObject dimJsonObj);

    /**
     * <p>获取表名</p>
     *
     * @return 返回表名称
     * @author bu.junjie	
     * @date 2025/9/18 17:11
     */
    String getTableName();

    /**
     * <p>获取对应的 rowKey</p>
     *
     * @param obj 入参
     * @return 返回对应的 rowKey
     * @author bu.junjie	
     * @date 2025/9/18 17:12
     */
    String getRowKey(T obj);
}
